package com.demo.mapper;


import com.demo.entity.vo.ArticleInfoVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

// 不要忘记加上注解 @Mapper,表示这不是一个简单的类，而是一个MyBatis的interface
@Mapper
public interface ArticleMapper {

    // 多表查询
    // 获取文章的详情页，通常都是通过文章的id进行查询，一对多
    ArticleInfoVO getArticleDetail(@Param("id") Integer id);

    // 根据用户的id查询到所有的文章
    List<ArticleInfoVO> getListById(@Param("uid") Integer uid);

    // 根据文章id 或者 文章标题来查询文章
    List<ArticleInfoVO> getListByIdOrTitle(@Param("id")Integer id, // 用包装类，具体原因忘了，好像整形也可以
                                           @Param("title")String title);


    // 根据多个文章id集合来批量删除文章
    // 返回类型依然是受影响的行数
    int deleteListById(List<Integer> idList);
}
